﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
//using CrystalDecisions.CrystalReports.Engine;
using CrystalDecisions.Shared;
using BUS;
using System.Collections;
using DTO;
using System.Configuration;

namespace QuanLyNhaSach_1173005
{
    public partial class frmBaoCaoTon : Form
    {
        public frmBaoCaoTon()
        {
            InitializeComponent();
            for (int thang = 1; thang <= 12; thang++)
            {
                cb_Thang.Items.Add(thang);
            }
            cb_Thang.SelectedIndex = 0;

            for (int nam = DateTime.Now.Year; nam >= DateTime.Now.Year - 3; nam--)
            {
                cb_nam.Items.Add(nam);
            }
            cb_nam.SelectedIndex = 0;
        }

        private void btn_LapBaoCao_Click(object sender, EventArgs e)
        {
            //lấy thời gian cần báo cáo
           /* DateTime dateBaoCao = new DateTime(Int32.Parse(cb_nam.SelectedItem.ToString()), Int32.Parse(cb_Thang.SelectedItem.ToString()), 1);

            //Nhap bao cao va database
            BaoCaoDTO bcDTO = new BaoCaoDTO();
            bcDTO.MaBaoCao = "BC" + DateTime.Now.Ticks;
            bcDTO.ThangBaoCao = dateBaoCao;
            bcDTO.TrangThai = 1;
            BaoCaoBUS.ThemBaoCao(bcDTO);

            ArrayList arrSach = SachBUS.LayDanhSach();
            for (int i = 0; i < arrSach.Count; i++)
            {
                //Tìm số sách fát sinh do nhập
                int fatsinh = 0;
                SachDTO s = (SachDTO)arrSach[i];
                ArrayList arrChiTietPhieuNhap = ChiTietPhieuNhapBUS.LayDanhSachTheoSachVaThoiGian(s.MaSach, dateBaoCao);
                for (int j = 0; j < arrChiTietPhieuNhap.Count; j++)
                {
                    ChiTietPhieuNhapDTO ctpn = (ChiTietPhieuNhapDTO)arrChiTietPhieuNhap[j];
                    fatsinh += ctpn.SoLuongNhap;
                }
                //Xác định tồn đầu là tồn cuối tháng trước báo cáo
                float TonDau = BaoCaoTonBUS.TinhTonDau(s.MaSach, dateBaoCao);
                //Xác định tồn cuối là tồn hiện tại của sách
                float TonCuoi = s.SoLuongTon;

                //Nhập vào database
                BaoCaoTonDTO bct = new BaoCaoTonDTO();
                bct.BaoCao = bcDTO;
                bct.Sach = s;
                bct.MaBaoCaoTon = "BCT" + DateTime.Now.Ticks;
                bct.NgayThucHien = DateTime.Now;
                bct.TonCuoi = TonCuoi;
                bct.TonDau = TonDau;
                bct.PhaiSinhTon = fatsinh;
                bct.TrangThai = 1;
                BaoCaoTonBUS.ThemBaoCaoTon(bct);
            }

            // tao report document giúp chỉnh đường dẫn tương đối cho 
            rp_BaoCaoTon rpt = new rp_BaoCaoTon();
            foreach (Table tbCurrent in rpt.Database.Tables)
            {
                TableLogOnInfo tliCurrent = tbCurrent.LogOnInfo;
                tliCurrent.ConnectionInfo.DatabaseName = ConfigurationSettings.AppSettings["DatabaseName"];
                tliCurrent.ConnectionInfo.ServerName = ConfigurationSettings.AppSettings["ServerName"];
                //tliCurrent.ConnectionInfo.UserID = "sa";
                //tliCurrent.ConnectionInfo.Password = "";
                tliCurrent.ConnectionInfo.IntegratedSecurity = false;
                tbCurrent.ApplyLogOnInfo(tliCurrent);
            }

            //int thang = Convert.ToInt32(cb_Thang.Text);
            //int nam = Convert.ToInt32(cb_nam.Text);
            DataTable dt = BaoCaoTonBUS.LapBaoCaoTon();
            rpt.SetDataSource(dt); // gan table cho report

            rpt.SetParameterValue("thang", dateBaoCao.Month);
            rpt.SetParameterValue("nam", dateBaoCao.Year);
            // tao frm hien thi reportviewer
            frmHienThiBaoCaoTon frm = new frmHienThiBaoCaoTon();
            frm.GanBaoCaoCanHienThi(rpt);
            frm.ShowDialog();*/
        }
    }
}
